﻿Imports Commander_Wars.Spieletools
''' <summary>
''' Wird zu erstellen des KO's Kat verwendet copyright Nintendo und Intelligent System
''' </summary>
''' <remarks></remarks>
<Serializable()> Public Class KOKat
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "KAT"
        Armee = Armeen.BH.ToString
        Musik = "Kat"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 4
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 4
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 4
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 4
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars2
                LandschaftsUntergrund = New String() {"Deckung"}
                LandschaftsStärke = 10
                DeckungsÄnderung = 1
                ReDim Bewegunssenker(-1)
                ReDim Bewegungswetter(-1)
            Case CommanderWarsGameModi.AdvanceWarsDS
                LandschaftsUntergrund = New String() {"Deckung"}
                LandschaftsStärke = 5
                DeckungsÄnderung = 1
                ReDim Bewegunssenker(-1)
                ReDim Bewegungswetter(-1)
            Case Else
                LandschaftsUntergrund = New String() {"Deckung"}
                LandschaftsStärke = 10
                DeckungsÄnderung = 1
                ReDim Bewegunssenker(-1)
                ReDim Bewegungswetter(-1)
        End Select
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
       
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
         Select My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars2
                LandschaftsStärke = 5
                Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins}
                Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Sonne}
                If OhneFunktion = False Then
                    AnimationEigene("KATGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                LandschaftsStärke = 5
                Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins}
                Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Sonne}
                If OhneFunktion = False Then
                    AnimationEigene("KATGABE", 2)
                End If
                GabeEingesetzt()
            Case Else
                LandschaftsStärke = 25
                Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins}
                Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Sonne}
                If OhneFunktion = False Then
                    AnimationEigene("KATGABE", 2)
                End If
                GabeEingesetzt()
        End Select
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)

        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                LandschaftsStärke = 5
                Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins}
                Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Sonne}
                If OhneFunktion = False Then
                    AnimationEigene("KATGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWars2
                LandschaftsStärke = 5
                DeckungsÄnderung = 2
                Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins}
                Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Sonne}
                If OhneFunktion = False Then
                    AnimationEigene("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                LandschaftsStärke = 5
                DeckungsÄnderung = 2
                Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins}
                Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Sonne}
                If OhneFunktion = False Then
                    AnimationEigene("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
            Case Else
                LandschaftsStärke = 25
                DeckungsÄnderung = 2
                Bewegungswetter = New Bewegungsarten() {Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins, Bewegungsarten.Eins}
                Bewegunssenker = New ObjektSpielfeld.Wetterarten() {ObjektSpielfeld.Wetterarten.Regen, ObjektSpielfeld.Wetterarten.Sandsturm, ObjektSpielfeld.Wetterarten.Schnee, ObjektSpielfeld.Wetterarten.Sonne}
                If OhneFunktion = False Then
                    AnimationEigene("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
        End Select
       
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

<Serializable()> Public Class KOBeschreibungKat
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Kat"
        Fein = "Ihren Willen bekommen"
        Nein = "Ihn nicht bekommen"
        Beschreibung = New String() {"Wunderkind von Black Hole, mit", "seltsamen Weltansichten.Hält", " Krieg für ein Spiel und viel", "Spaß dabei."}
        Stil = New String() {"Ihre Truppen nutzen", "Terrainvorteile optimal wodurch", "ihre Feuerkraft steigt."}
        Gabebeschreibung = New String() {"Bewegungskosten sinken auf 1.", "Terrainvorteile werden noch besser", "ausgenutzt."}
        SpezialgabeBeschreibung = New String() {"Bewegungskosten sinken auf 1.", "Die Deckung von Terrains", "verdoppelt sich."}
        GabeKosten = 4
        Spezialgabekosten = 3
        Gaben = New String() {"Terraintaktik", "Optimaltaktik"}
        Synergie = New Decimal() {1, 1, 0.5#, 2, -2, -1, -1, -1, 1, -2, -1, 0.5#}
        KONamen = New String() {"HELMUT", "MAVERIK", "SONJA", "MELANTHE", "OLAF", "COLIN", "EAGLE", "VON BOLT", "NAPOLEON", "TEMPEST", "OZZY", "ERIC"}
        Doppelgabenamen = New String() {"Gewaltausbruch", "Rebellion", "Geistesblitz", "Botanische Strategie", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Hirn und Muskeln", "Doppel-Gabe", "Doppel-Gabe", "Steroide"}
        Gabesätze = New String() {"Och Menno! Du nervst ich werde dich jetzt kaputt machen." _
                                  , "Das macht keinen Spaß. ...Ich mag dich nicht." _
                                  , "Ich habe genug. Du beginnst mich zu langweilen." _
                                  , "Du gehst mir auf den Zeiger." _
                                  , "Du willst mit mir kämpfen? Du bist aber bescheuert." _
                                  , "Hi! Hi! Auf weiter. Lass uns spielen!"}
        Siegsätze = New String() {"Hee hee hee... Hm? schon alles kaputt?" _
                                , "Tee hee hee! Ihr seid ein Versager." _
                                , "Huh? Das war alles? Das hat keinen Spaß gemacht."}
        Tauschsätze = New String() {"Einen Moment noch. Ziehe ich die und die dort dann..." _
                                    , "Tee hee hee!"}
        Doppelgabesätze = New DoppelGabesatz() {New DoppelGabesatz("KAT", "HELMUT", "Helmut. Helmuuut. Wo bist du?", "Ich hab keine Zeit ich trainiere.") _
                                              , New DoppelGabesatz("HELMUT", "KAT", "Ich mach sie platt.", "Denk dran das du nachher noch zu einem Experiment musst!") _
                                              , New DoppelGabesatz("KAT", "MAVERIK", "Lass uns spielen!", "Kat dies ist kein Spiel.") _
                                              , New DoppelGabesatz("MAVERIK", "KAT", "Zeit meine Pläne umzusätzen.", "Sind die auch lustig und machen Spaß?") _
                                              , New DoppelGabesatz("KAT", "SONJA", "Krieg ist ein Spiel mit hohem Einsatz.", "Nein! Krieg ist kein...wobei...") _
                                              , New DoppelGabesatz("SONJA", "KAT", "Dieser Zug wird euer Ende ich habe alles geplant.", "Schönes Spiel darf ich auch mal?") _
                                              , New DoppelGabesatz("KAT", "MELANTHE", "Wir haben einen gigantischen Vorsprung.", "Wie eine problematische Stelle mit Blumen.") _
                                              , New DoppelGabesatz("MELANTHE", "KAT", "Ich gehe!", "Zur nächsten Schlacht! Hey, warte!") _
                                              , New DoppelGabesatz("NAPOLEON", "KAT", "Ihr könnt so viel vernichten wie ihr wollt. Es gibt immer Nachschub!", "Das macht keinen Spaß! So kann ich nicht gewinnen!") _
                                              , New DoppelGabesatz("NAPOLEON", "KAT", "Ich bin der Herrscher habt ihr ein Problem damit!", "Hi! Hi! Er funktioniert.")}
    End Sub
End Class
